package com.bestcem.xm.ticket.service.dto.ticket;

import com.bestcem.xm.ticket.entity.mongo.Ticket;
import com.bestcem.xm.ticket.entity.mongo.TicketConfig;
import lombok.*;

import java.util.LinkedList;
import java.util.List;

/**
 * 创建工单DTO
 *
 * @author jy.zhao
 * @version 1.0
 * @date 2021/8/17 17:53
 **/
@ToString
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class CreateTicketDTO {

    /**
     * 工单名称
     */
    private String ticketName;

    /**
     * 组织id
     */
    private String orgId;

    /**
     * 问卷id
     */
    private String surveyId;

    /**
     * 详情模板id
     */
    private String detailTemplateId;

    /**
     * 处理模板id
     */
    private String handleTemplateId;

    /**
     * 问卷标题
     */
    private String surveyTitle;

    /**
     * 答卷id
     */
    private Long resId;

    /**
     * 会员id
     */
    private String memberId;

    /**
     * 区域id
     */
    private String regionId;

    /**
     * 区域名称
     */
    private String regionName;

    /**
     * 工单配置id
     */
    private String ticketConfigId;

    /**
     * 工单配置
     */
    private TicketConfig ticketConfig;

    /**
     * 告警记录id
     */
    private String alertRecordId;

    /**
     * 工单手动创建、自动创建
     */
    private Integer operationType;

    /**
     * 工单配置id列表
     */
    private List<String> alertRuleIdList;

    /**
     * 告警id
     */
    private String alertId;

    /**
     * 工单详情 显示内容
     */
    private List<Ticket.TemplateDetailField> templateDetailFields;

    /**
     * 是否至少需要一次提交记录
     */
    private Boolean needRecord;

    /**
     * 是否至少需要一次交易
     */
    private Boolean needDeal;

    /**
     * 创建人id
     */
    private String createdId;

    /**
     * 创建人姓名
     */
    private String createdName;

    /**
     * 工单满足的触发条件的名称
     * 2022-02-18 行动新增条件名称需求新增
     */
    private LinkedList<String> triggerNames;
}
